The Internet is a decentralized network of computers that can communicate with one another via the TCP/IP (transmission control protocol/Internet protocol) network protocol. Although the Internet has its origins in an agency started by the United States Department of Defense in the late 1960's called the U.S. Advanced Research Project Agency (ARPANET), it has only recently become a worldwide communication medium. The explosive growth in use and traffic over the Internet may be due, at least in part, to the development in the early 1990's of the World Wide Web (WWW), which is one of several service facilities provided on top of the Internet. Other facilities include a variety of communication services such as electronic mail (e-mail), telnet, usenet newsgroups, Internet relay chat (IRC), a variety of information search services such as WAIS and Archie, and a variety of information retrieval services such as FTP (file transfer protocol) and Gopher. While these facilities have serviced the research-oriented user well, most agree that it is the multimedia capability of the WWW which may have brought the Internet into such prominence.
As illustrated in FIG. 1, the WWW is a client-server based facility that comprises a number of servers 12 (e.g., computers connected to the Internet) on which web pages or files reside and clients 14 (e.g., web browsers) which interface the users with the web pages. A web browser is a software application such as WebExplorer.RTM. (IBM Corporation) or Netscape Navigator.RTM. (Netscape Communication Corporation) that operates on a client 14 and that typically sends a request over the Internet to a server 12 requesting a copy of a web page identified by a uniform resource locator (URL) which denotes both the server where the web page resides and the file or files which comprise the web page. In response, the server 12 sends a copy of the requested file(s) to the web browser which displays the web page to the user.
Web pages on the WWW may be hyper-media documents written in a standardized language called hypertext markup language (HTML). A typical web page includes text together with embedded formatting commands, referred to as tags, which can be used to control the font size, the font style (for example, whether italic or bold), the layout of the text or other document attributes. A web browser parses the HTML script in order to display the text in accordance with the specified format. In addition, a web page can also contain a reference, in terms of another URL, to a piece of multimedia data, for example, an image, a video segment, or an audio file. The web browser responds to such a reference by retrieving and displaying or playing the data. This often requires the web browser to launch another software application such as a plug-in or helper program that is particularly configured for displaying or playing the multimedia data as formatted. Alternatively, such multimedia data may form its own web page, without any surrounding HTML text.
Some web pages also contain one or more references to other web pages which need not be on the same server as the original web page. Such references may generally be activated by the user selecting particular locations on the screen, typically by clicking a primary button of a pointing device such as a mouse. These references or locations are known as hyperlinks, and are typically flagged by the browser in a particular manner (for example, any text associated with a hyperlink may be in a different color or underlined). If the user selects the hyperlink, then the referenced page is retrieved and replaces the currently displayed page. Further information about HTML and the WWW can be found in World Wide Web and HTML by Douglas MacArthur, pp. 18-26 and Dr. Dobbs'Journal, December 1994, and in The HTML Sourcebook by Ian Graham, John Wiley Publishers, New York (1995).
Out of an effort to heighten the sensory experience of the WWW, three dimensional virtual reality languages began to be developed. One such language is the virtual reality modeling language (VRML, pronounced "ver-mel"). VRML is a standardized language for describing the animation and three dimensional modeling of geometric objects. VRML allows a three dimensional scene(s) or world(s) to be manipulated in an interactive manner over the Internet and shared by multiple users. Virtual reality worlds are generally defined with reference to an x-axis, a y-axis, and a z-axis so as to allow movement with six degrees of freedom. Thus, unlike HTML which provides for merely formatting text and images, and for hyperlinks to other web pages, VRML provides for the organization and interaction of three dimensional objects and scenes in a hierarchical fashion within a virtual three dimensional space.
A VRML browser is used to view a three dimensional virtual world constructed using VRML. The VRML browser may be a helper program or plug-in to a web browser that is launched when the web browser detects that a file being downloaded is a VRML document. The VRML browser provides means for allowing the user to move around or navigate the three dimensional virtual world. Typical navigation controls for a VRML browser include walk, spin, look, slide, and point. Typically, the walk control allows the user to move forward and backward within a world, the spin control allows the user to turn in an arcuate fashion within a world, the look control allows the user to zoom in or pan out from a particular area within a world, the slide control allows the user to move sideways in an arcuate fashion within a world, and the point control allows the user to return to their initial vantage point within a world.
In addition to navigating through a VRML world, a VRML browser (i.e., the client) may share a world with one or more other VRML browsers. In this context, a user of a VRML browser may select a three dimensional representation of him/herself known as an "avatar" which is an object or group of objects. The user then navigates in the world with other avatars that represent other users of VRML browsers in that world (e.g., other clients). Thus, as a user's avatar moves through the world the user is able to see other users' avatars moving as well, and vice versa. The navigation controls utilized in conjunction with an avatar are typically the same as those described above.
The positions of the avatars within a VRML world are tracked by a matrix-based central object server. Thus, as the position or behavior of an avatar changes, the changes are detected by the central object server and rebroadcast out to the client web browsers. Current navigational controls typically allow for movement of the avatar with six degrees of freedom. Specifically, current navigational controls allow the user to traverse the world in the direction of the x, y, or z axis.
One problem which exists in three dimensional virtual worlds is that navigation between two locations within a three dimensional virtual world is typically provided via the metaphor of the user walking. While this metaphor may have some merit in certain circumstances, depending on the architecture of the virtual world and the user's intent in visiting the virtual world, the sizes of virtual worlds are generally increasing which may make walking between locations less desirable. For example, it may be undesirable for a user to walk from a first location to a second location within a virtual world if the two locations are relatively far apart because of the time required to move a relatively long distance, as measured in the three dimensional virtual world, via the walking metaphor. Moreover, the user is usually not provided with any value-added content or entertainment as he/she walks from the first location to the second location. Some worlds have offered navigation through the metaphor of riding a bicycle. While this may be an improvement over navigation by walking, the user is still driving the process and is not provided any value-added content during the experience. Thus, the user may gain nothing more than a more expedient traverse of the world.
Another problem that exists in three dimensional virtual worlds is that once a user requests a new world, the user has to wait for a new world to be downloaded and rendered before the user can begin navigating in the new world. The user is typically unable to interact with the VRML browser while the world is being downloaded, which can take a relatively long time with download transmission speeds at or below 56 kilobits/second (Kbps). Accordingly, the user receives no value-added content and is not entertained during the download period, which can lead to frustration and users terminating sessions because of the delays moving between worlds or within a world.
In view of the above discussion, improvements are needed in the navigation between virtual worlds and within virtual worlds.